package cz.semjob.framework;

import weka.classifiers.Classifier;
import cz.semjob.learning.instances.creator.IInstanceCreator;

public class ClassifierInstanceCreatorPair {
	
	private double precision;
	
	private double recall;
	
	private double fmeasure;

	private String classifierInfo;
	
	private String annotationType;

	private Classifier classifier;

	private IInstanceCreator instanceCreator;

	public ClassifierInstanceCreatorPair(String annotationType,
			Classifier classifier, IInstanceCreator instanceCreator) {
		super();
		this.annotationType = annotationType;
		this.classifier = classifier;
		this.instanceCreator = instanceCreator;
	}

	public Classifier getClassifier() {
		return classifier;
	}

	public IInstanceCreator getInstanceCreator() {
		return instanceCreator;
	}

	public String getAnnotationType() {
		return annotationType;
	}
	
	public void setClassifierInfo(double precision, double recall, double fmeasure, String classifierInfo) {
		this.precision = precision;
		this.recall = recall;
		this.fmeasure = fmeasure;
		this.classifierInfo = classifierInfo;
	}

	public double getPrecision() {
		return precision;
	}

	public double getRecall() {
		return recall;
	}

	public double getFmeasure() {
		return fmeasure;
	}
	
	public String getClassifierInfo() {
		return classifierInfo;
	}

	@Override
	public String toString() {
		return "ClassifierInstanceCreatorPair [annotationType="
				+ annotationType + ", classifier=" + classifier.toString()
				+ ", instanceCreator=" + instanceCreator.getName() + "]";
	}
	
	

}
